/**
 * 切换路由时， 取消前一个页面所有未完成的请求
 * author: LeiHao
 * createTime: 2023/12/28
 */

const useAxiosCancelTokenStore = defineStore('axiosCancelToken', {
    state: () => {
        return {
            cancelTokenArr: []
        }
    },

    actions: {
        addCancelToken(src) {
            this.cancelTokenArr.push(src.cancelToken)      
        },
      
        // 取消所有请求      
        clearCancelToken() {      
            this.cancelTokenArr.forEach(c => {      
                if (c) {      
                    c()      
                }      
            })      
            this.cancelTokenArr = []      
        }
    }
})

export default useAxiosCancelTokenStore;